查看原文
其他

安全问题,你必须重视了!一个开源工具为你保驾护航

欧盆索思 Go招聘 2022-05-13

关注公众号 “转角遇到GitHub” ,每天推荐给你优秀开源项目

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!

安全问题,很多开发人员对此重视是不够的。虽然语言会尽可能的提供一些方式避免安全问题,但更多还是需要开发人员自己小心处理。为了更好的保证自己项目的安全,很多公司会有专门部门做安全扫描,避免漏洞发布出去,对公司造成损失。今天推荐一个安全相关的开源工具。

项目地址:https://github.com/hahwul/dalfox,Star 数 529。这是 Go 语言实现的。

DalFox 是基于 golang/DOM 解析器的快速,强大的参数分析和 XSS 扫描器。支持友好的管道,CI/CD 和不同类型的 XSS 的测试。

安装方式很常规,个人建议通过源码安装。

$ go get -u github.com/hahwul/dalfox

也可以 docker:

$ docker pull hahwul/dalfox:latest
$ docker run -it hahwul/dalfox:latest /bin/bash
$ dalfox
run dalfox on docker

基于 docker 的使用:

$ docker run -it hahwul/dalfox:latest dalfox url https://www.hahwul.com

该工具功能很强大,支持的控制选项很多:

Modes: 
  file        Use file mode(targets list or rawdata)
  help        Help about any command
  pipe        Use pipeline mode
  server      Start API Server
  sxss        Use Stored XSS mode
  url         Use single target mode
  version     Show version

Global Flags:
  -b, --blind string              Add your blind xss (e.g -b hahwul.xss.ht)
      --config string             Using config from file
  -C, --cookie string             Add custom cookie
      --custom-payload string     Add custom payloads from file
  -d, --data string               Using POST Method and add Body data
      --delay int                 Milliseconds between send to same host (1000==1s)
      --follow-redirects          Following redirection
      --format string             Stdout output format(plain/json) (default "plain")
      --found-action string       If found weak/vuln, action(cmd) to next
      --grep string               Using custom grepping file (e.g --grep ./samples/sample_grep.json)
  -H, --header string             Add custom headers
  -h, --help                      help for dalfox
      --ignore-return string      Ignore scanning from return code (e.g --ignore-return 302,403,404)
  -X, --method string             Force overriding HTTP Method (e.g -X PUT)
      --mining-dict               Find new parameter with dictionary attack, default is Gf-Patterns=>XSS (default true)
      --mining-dict-word string   Custom wordlist file for param mining (e.g --mining-dict-word word.txt)
      --mining-dom                Find new parameter in DOM (attribute/js value) (default true)
      --no-color                  Not use colorize
      --no-spinner                Not use spinner
      --only-discovery            Only testing parameter analysis (same '--skip-xss-scanning' option)
  -o, --output string             Write to output file
  -p, --param string              Only testing selected parameters
      --proxy string              Send all request to proxy server (e.g --proxy http://127.0.0.1:8080)
      --silence                   Not printing all logs
      --skip-bav                  Skipping BAV(Basic Another Vulnerability) analysis
      --skip-mining-all           Skipping ALL parameter mining
      --skip-mining-dict          Skipping Dict base parameter mining
      --skip-mining-dom           Skipping DOM base parameter mining
      --skip-xss-scanning         Skipping XSS Scanning (same '--only-discovery' option)
      --timeout int               Second of timeout (default 10)
      --user-agent string         Add custom UserAgent
  -w, --worker int                Number of worker (default 100)

Server Flags:
  -h, --help          help for server
      --host string   Bind address (default "0.0.0.0")
      --port int      Bind Port (default 6664)
      
Pipe Flags:
  -h, --help        help for pipe
      --multicast   Scanning N*Host mode
      
File Flags:
  -h, --help        help for file
      --http        Using force http on rawdata mode
      --multicast   Scanning N*Host mode
      --rawdata     Using req rawdata from Burp/ZAP
      
SXSS Flags:
  -h, --help             help for sxss
      --mass             Testing mass vector (comming soon)
      --sequence int     Set sequence to first number (e.g --trigger https://~/view?no=SEQNC --sequence 3) (default -1)
      --trigger string   Checking this url after inject sxss code (e.g --trigger https://~~/profile)

一般的使用分单个目标和多目标形式:

  • 单目标:

    $ dalfox url http://testphp.vulnweb.com/listproducts.php\?cat\=123\&artist\=123\&asdf\=ff -b https://hahwul.xss.ht
  • 多目标:

    $ dalfox file urls_file --custom-payload ./mypayloads.txt

此外还支持 pipeline 模式:

$ cat urls_file | dalfox pipe -H "AuthToken: bbadsfkasdfadsf87"

更详细内容可以参考官方 Wiki:https://github.com/hahwul/dalfox/wiki。


文末「阅读原文」可直达项目首页。


今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!


推荐阅读




转角遇到GitHub - 送给爱开源的你

Git · GitHub · GitLab · Gitee


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存